package designs.models.mediator.example.one;

import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;

import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;

public class ConcreteMediator {
	JMenu menu;
	JMenuItem copyItem,cutItem,paseItem;
	JTextArea textArea;
	public void openMenu() {
		Clipboard clipboard = textArea.getToolkit().getSystemClipboard();
		String text = textArea.getSelectedText();
		if (text == null) {
			copyItem.setEnabled(false);
			paseItem.setEnabled(false);
			
		}else {
			copyItem.setEnabled(true);
			paseItem.setEnabled(true);
		}
		boolean boo = clipboard.isDataFlavorAvailable(DataFlavor.stringFlavor);
		if (boo) {
			paseItem.setEnabled(true);
		}
	}
	
	public void paste() {
		textArea.paste();
	}
	
	public void copy() {
		textArea.copy();
	}
	
	public void cut() {
		textArea.cut();
	}
	
	public void registerMenu(JMenu menu) {
		this.menu = menu;
	}
	
	public void registerPasteItem(JMenuItem item) {
		paseItem = item;
	}
	
	public void registerCopyItem(JMenuItem item) {
		copyItem = item;
	}
	
	public void registerCutItem(JMenuItem item) {
		cutItem = item;
		copyItem.setEnabled(false);
	}
	
	public void registerTextArea(JTextArea textArea) {
		this.textArea = textArea;
	}
}
